package com.ruoyi.contract.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 合同到期提醒对象 expiration_reminder
 * 
 * @author ruoyi
 * @date 2024-10-18
 */
public class ExpirationReminder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long expirationReminderId;

    /** 合同id */
    @Excel(name = "合同id")
    private Long contractId;

    /** 距离到期剩余天数 */
    @Excel(name = "距离到期剩余天数")
    private Long maturityDays;

    /** 到期状态 */
    @Excel(name = "到期状态")
    private String state;

    /** 到期提醒类型 */
    private String alarmType;

    /** 合同名称 */
    private String name;

    /** 合同所属公司名称 */
    private String belongingCompanyName;

    /** 合同所属公司id */
    private Long belongingCompanyId;


    /** 合同类型 */
    private String type;

    /** 合同类别名称 */
    private String contractCategoryName;

    /** 合同生效开始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date takeEffectStart;

    /** 合同生效终止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date takeEffectEnd;

    public void setExpirationReminderId(Long expirationReminderId) 
    {
        this.expirationReminderId = expirationReminderId;
    }

    public Long getExpirationReminderId() 
    {
        return expirationReminderId;
    }
    public void setContractId(Long contractId) 
    {
        this.contractId = contractId;
    }

    public Long getContractId() 
    {
        return contractId;
    }
    public void setMaturityDays(Long maturityDays) 
    {
        this.maturityDays = maturityDays;
    }

    public Long getMaturityDays() 
    {
        return maturityDays;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }

    public String getAlarmType() {
        return alarmType;
    }

    public void setAlarmType(String alarmType) {
        this.alarmType = alarmType;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBelongingCompanyName() {
        return belongingCompanyName;
    }

    public void setBelongingCompanyName(String belongingCompanyName) {
        this.belongingCompanyName = belongingCompanyName;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getContractCategoryName() {
        return contractCategoryName;
    }

    public void setContractCategoryName(String contractCategoryName) {
        this.contractCategoryName = contractCategoryName;
    }
    public Date getTakeEffectStart() {
        return takeEffectStart;
    }

    public void setTakeEffectStart(Date takeEffectStart) {
        this.takeEffectStart = takeEffectStart;
    }

    public Date getTakeEffectEnd() {
        return takeEffectEnd;
    }

    public void setTakeEffectEnd(Date takeEffectEnd) {
        this.takeEffectEnd = takeEffectEnd;
    }

    public Long getBelongingCompanyId() {
        return belongingCompanyId;
    }

    public void setBelongingCompanyId(Long belongingCompanyId) {
        this.belongingCompanyId = belongingCompanyId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("expirationReminderId", getExpirationReminderId())
            .append("contractId", getContractId())
            .append("maturityDays", getMaturityDays())
            .append("state", getState())
            .append("alarmType", getAlarmType())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .toString();
    }
}
